Communication networks have migrated from using specialized networking equipment executing on dedicated hardware, like routers, firewalls, and gateways, to software defined networks (SDNs) executing as virtualized network functions (VNF) in a cloud infrastructure. To provide a service, a set of VNFs may be instantiated on the general purpose hardware. Each VNF may require one or more virtual machines (VMs) to be instantiated. In turn, VMs may require various resources, such as memory, virtual computer processing units (vCPUs), and network interfaces or network interface cards (NICs). Determining how to assign these resources among VMs in an efficient manner may be unbearably complex.
Most networking appliances have a single use case and all decisions are made within the appliance with little to no input from other sources. However, software defined networks (SDN) and network function virtualization (NFV) seek to change that. Networking appliances will run virtually on generic boxes and their functions will be controlled by an orchestrator. The orchestrator however, is specific to the network function it controls. For example, an orchestrator that spins up servers based on demand can't trigger a circuit, or establish a transport path if bandwidth exhaust is reached and things like quality of service (QoS) and service level agreement (SLA) management are left to switches and routers. Currently, most of the decisions are made by network engineers and require a hands on approach to provision additional network resources. In many cases, adding capacity may take days as equipment usually has to be ordered. Lastly, some of the existing automatically scaling services are ultimately limited by the maximum port speed on the layer 1-3 appliances in use (100 Mbps or 1 Gbps in most cases today).
This disclosure is directed to solving one or more of the problems in the existing technology.